<?php

declare(strict_types=1);

namespace app\model\admin;

use think\Model;

/**
 * 系统消息 模型类
 */
class EsxdmSysMessageModel extends Model
{
    // 设置当前模型对应的完整数据表名称
    protected $table = 'esxdm_sys_message';

    // 自动时间戳
    protected $autoWriteTimestamp = 'int';

    // 定义时间戳字段名
    protected $createTime = 'created_at';
    protected $updateTime = 'updated_at';

    /**
     * 文件夹 字段内容
     */
    protected $folder_data = ['sent' => '已发送', 'drafts' => '草稿箱', 'inbox' => '收件箱', 'junk' => '小黑屋', 'trash' => '回收站'];

    /**
     * 返回 文件夹 字段内容
     */
    public function getFolderData()
    {
        return $this->folder_data;
    }

    /**
     * 返回 文件夹 字段获取器的值
     */
    public function getFolderTextAttr($value)
    {
        $value = $this->getData('folder');
        return isset($this->folder_data[$value]) ? $this->folder_data[$value] : $value;
    }

    /**
     * 类型 字段内容
     */
    protected $type_data = ['sys' => '系统消息', 'todo' => '待办事项', 'pm' => '站内信', 'capsule' => '时间胶囊', 'notice' => '公告', 'subscribe' => '订阅', 'attendance' => '心情打卡', 'feedback' => '意见建议', 'report' => '报表', 'ai' => '智能机器'];

    /**
     * 返回 类型 字段内容
     */
    public function getTypeData()
    {
        return $this->type_data;
    }

    /**
     * 返回 类型 字段获取器的值
     */
    public function getTypeTextAttr($value)
    {
        $value = $this->getData('type');
        return isset($this->type_data[$value]) ? $this->type_data[$value] : $value;
    }

    /**
     * 状态 字段内容
     */
    protected $status_data = [0 => '草稿', 1 => '发送'];

    /**
     * 返回 状态 字段内容
     */
    public function getStatusData()
    {
        return $this->status_data;
    }

    /**
     * 返回 状态 字段获取器的值
     */
    public function getStatusTextAttr($value)
    {
        $value = intval($this->getData('status'));
        return isset($this->status_data[$value]) ? $this->status_data[$value] : $value;
    }
}
